// pages/list/list.js
const fetch = require("../../utils/fetch")
Page({

  /**
   * 页面的初始数据
   */
  data: {
    //页面信息
    category:{},
    //页面店铺信息
    shops:[],
    //是否有更多
    hasMore:true,
    //当前页
    pageIndex:0,
    //页面大小
    pageSize:10,
    //是否是加载中
    loading:false,
    //输入框的值
    input:''
  },
  inputHandler:function(e){
    this.setData({input:e.detail.value});
  },
  searchHandler:function(){
    this.setData({pageIndex:0,hasMore:true,shops:[]});
    this.loadMore();
  },
  loadMore:function(){
    if(this.data.hasMore){
      let {pageIndex,pageSize,input} = this.data;
      const params = {_page:++pageIndex,_limit:pageSize,q:input};
      this.setData({pageIndex,pageSize,loading:true});
      return fetch(`categories/${this.data.category.id}/shops`,params).then(res=>{
        const total = res.header['x-total-count'];
        if(this.data.pageIndex * this.data.pageSize > total){
          this.setData({hasMore:false});
        }
        this.data.shops = this.data.shops.concat(res.data);
        this.setData({shops:this.data.shops,loading:false});
      })
  }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    fetch(`categories/${options.cat}`).then(res=>{
      wx.setNavigationBarTitle({
        title: res.data.name
      });
      this.setData({category:res.data});
     this.loadMore();
    }).catch(res=>{
      console.log("发起请求失败,不设置标题了")
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    if(this.data.category.name){
      wx.setNavigationBarTitle({
        title: this.data.category.name
      });
    }

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    this.setData({pageIndex:0,shops:[],hasMore:true});
    this.loadMore().then(()=>{
      wx.stopPullDownRefresh();
    })
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    if(!this.data.loading){
      this.loadMore();
    }
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})